home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / coloredbooks / BlueBook.sit.hqx / Blue Book
Text File  |  1997-11-17  |  63KB  |  1,962 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. Trusted Product Evaluation Questionnaire
  9.  
  10.  
  11.  
  12.  
  13.  
  14. Trusted Product Evaluation Questionnaire
  15.  
  16.  
  17.  
  18. National Computer Security Center
  19.  
  20.  
  21. 9800 Savage Road
  22.  
  23.  
  24. Fort George G. Meade, MD 20755-6000
  25.  
  26.  
  27. May 2,1992
  28.  
  29.  
  30. NCSC-TG-019
  31.  
  32.  
  33. Library No. 5-232,458
  34.  
  35.  
  36. Version 2
  37. FOREWORD
  38.  
  39.  
  40.  
  41. The National Computer Security Center is publishing the Trusted
  42. Product Evaluation Questionnaire as part of the "Rainbow
  43. Series" of documents our Technical Guidelines Program produces.
  44. In the Rainbow Series, we discuss in detail the features of the
  45. Department of Defense Trusted Computer System Evaluation Criteria
  46. (DoD 5200.28-STD) and provide guidance for meeting each requirement.
  47. The National Computer Security Center, through its Trusted Product
  48. Evaluation Program, evaluates the security features of commercially-produced
  49. computer systems. Together, these programs ensure that organizations
  50. are capable of protecting their important data with trusted computer
  51. systems.
  52.  
  53.  
  54. The Trusted Product Evaluation Questionnaire is a tool to assist
  55. system developers and vendors in gathering data to assist evaluators
  56. and potentially certifiers in their assessment of the system.
  57.  
  58.  
  59. As the Director, National Computer Security Center, I invite your
  60. recommendations for revision to this technical guideline. We plan
  61. to review and update this document periodically in response to
  62. the needs of the community. Please address any proposals for revision
  63. through appropriate channels to:
  64.  
  65.  
  66. National Computer Security Center
  67.  
  68.  
  69. 9800 Savage Road
  70.  
  71.  
  72. Ft. George G. Meade, MD 20755-6000
  73.  
  74.  
  75. Attention: Chief, Standards, Criteria, and Guidelines Division
  76.  
  77.  
  78. Patrick R. G   g     .                                       
  79.          May 1992
  80.  
  81.  
  82. Director
  83.  
  84.  
  85. National Computer Security Center
  86. ACKNOWLEDGMENTS
  87.  
  88.  
  89.  
  90. The National Computer Security Center expresses appreciation to
  91. Dr. Santosh Chokhani and Harriet Goldman, of the MITRE Corporation,
  92. as the principal authors of version I of this document; Mr. Kenneth
  93. B. Elliott III and Dr. Dixie Baker, of The Aerospace Corporation,
  94. as the principal authors of version 2 this document; and ENS Susan
  95. L. Mitchell as project manager.
  96.  
  97.  
  98. We also thank the evaluators, vendors, and users in the United
  99. States computer security community who contributed their time
  100. and expertise to the review of this document.
  101. Chapter 1 INTRODUCTION
  102.  
  103.  
  104.  
  105. One of the principal goals of the National Computer Security Center
  106. (NCSC) is to encourage the widespread availability of trusted
  107. computer systems. In support of this goal a metric was created,
  108. the Department of Defense Trusted Computer System Evaluation Criteria
  109. (TCSEC), against which computer systems could be evaluated. The
  110. TCSEC was originally published on 15 August 1983 as CSC-STD-001-83.
  111. In December 1985 the DoD adopted it, with a few changes, as a
  112. DoD Standard, DoD 5200.28-STD. DoD Directive 5200.28, "Security
  113. Requirements for Automatic Information Systems (AISs)," has
  114. been written to require, among other things, the Department of
  115. Defense Trusted Computer System Evaluation Criteria to be used
  116. throughout the DoD. The TCSEC is the standard used for evaluating
  117. the effectiveness of security controls built into ADP systems.
  118. The TCSEC is divided into four divisions: D, C, B, and A, ordered
  119. in a hierarchical manner with the highest division (A) being reserved
  120. for systems providing the best available level of assurance. Within
  121. divisions C, B, and A there are subdivisions known as classes,
  122. which are also ordered in a hierarchical manner to represent different
  123. levels of security in these classes.
  124.  
  125.  
  126. The National Security Agency (NSA) has established an aggressive
  127. program to study and implement computer security technology and
  128. to encourage the widespread availability of trusted computer products
  129. for use by any organization desiring better protection of their
  130. important data and information processing services. The Trusted
  131. Product Evaluation Program and the open and cooperative business
  132. relationship being forged with the computer and telecommunications
  133. industries will result in the fulfillment of our country's computer
  134. security requirement. We are resolved to meet the challenge of
  135. identifying trusted computer products suitable for use in processing
  136. all types and classifications of information.
  137.  
  138.  
  139. For definition and clarification of the terms used in this document,
  140. please see the glossary section of this questionnaire.
  141.  
  142.  
  143. Sub-questions within the numbered questions have been designated
  144. with letters (e.g., (a), (b), ...) so that answers to all parts
  145. of the main question can be identified.
  146.  
  147.  
  148. Review of this document will occur periodically or when the need
  149. arises.  Address all proposals for revision through appropriate
  150. channels to:
  151.  
  152.  
  153. National Computer Security Center
  154.  
  155.  
  156. 9800 Savage Road
  157.  
  158.  
  159. Fort George G. Meade, MD 20755-6000
  160.  
  161.  
  162. Attention: Chief, Standards, Criteria, and Guidelines Division
  163. 1.1 PURPOSE
  164.  
  165.  
  166.  
  167. The NSA is responsible for evaluating commercial products through
  168. an independent evaluation based on TCSEC requirements by a qualified
  169. team of experts and maintaining a list of those products on the
  170. Evaluated Products List (EPL). To accomplish this mission, the
  171. NSA Trusted Product Evaluation Program has been established to
  172. assist vendors in developing, testing, and evaluating trusted
  173. products for the EPL.
  174.  
  175.  
  176. During the evaluation process, the TCSEC for classes C1 through
  177. Al requires a determination that the security features of a system
  178. are implemented as designed and that they are adequate for the
  179. specified level of trust. In addition, the TCSEC also requires
  180. documentation to support a system's security. During the various
  181. phases of the evaluation process, the vendor supplies to an evaluation
  182. team certain information on system security and documentation.
  183. The purpose of the Trusted Product Evaluation Questionnaire (prod-uct
  184. questionnaire) is to assist system developers and vendors as a
  185. data gathering tool for formalizing the data gathering process
  186. for the various phases of the Trusted Products Evaluation process.
  187. Additionally, the product questionnaire may be used as a data
  188. gathering tool to assist certifiers in the evaluation process
  189. for certification and accreditation if the Final Evaluation Report
  190. is unavailable.
  191.  
  192.  
  193. Examples in this document are not to be construed as the only
  194. implementations that may answer the question.  The examples are
  195. suggestions of appropriate implementations. The recommendations
  196. in this document are also not to be construed as supplementary
  197. requirements to the questionnaire.
  198. 1.2 SCOPE
  199.  
  200.  
  201.  
  202. The product questionnaire addresses the TCSEC Criteria Classes
  203. C1 through Al. In an effort to gather a better understanding of
  204. the system security, some questions in the product questionnaire
  205. address information in addition to that required in the Department
  206. of Defense Trusted Computer Systems Evaluation Criteria. This
  207. document is generally organized by Criteria subject area; within
  208. each subject area, the questions are broken down in a manner similar
  209. to Appendix D of the Criteria. This breakdown readily allows the
  210. reader to discern the questions that are appropriate to each of
  211. the Criteria levels.  Of course, all of the questions at levels
  212. lower than the target level are applicable.
  213.  
  214.  
  215. The information provided in the product questionnaire by the vendor
  216. is to assist the evaluator in obtaining an initial understanding
  217. of the system applying for evaluation and its security features
  218. of the respective Criteria class. The product questionnaire is
  219. not a statement of requirements, just an information gathering
  220. tool. This document should give the vendor an idea of the information
  221. required by the evaluator during the evaluation process and prepare
  222. the vendor for additional information needed by the evaluation
  223. team later on in the evaluation process.
  224.  
  225.  
  226. The product questionnaire will be initially sent out to the vendor
  227. prior to the Preliminary Technical Review (PTR). The vendor can
  228. point to appropriate documents for the answers.  The vendor need
  229. not answer the questions that are not pertinent. Some of the questions
  230. may be applicable at the later stages of the evaluation process
  231. and thus may be deferred until the appropriate time (e.g., a finished
  232. copy of the Verification Plan). Although the vendor is not obligated
  233. to send a completed product questionnaire prior to the PTR, the
  234. vendor should have the questionnaire substantially completed by
  235. the PTR date so that the PTR team can use the Questionnaire as
  236. in input into determining the vendor's ability to support an evaluation.
  237. The PTR team will also use the product questionnaire during the
  238. PTR to seek additional information to be used later on in the
  239. evaluation process. When an evaluation team has reached the Design
  240. Analysis Phase and is preparing the Initial Product Assessment
  241. Report, it will use the product questionnaire to seek specific
  242. references in vendor documentation for further details on the
  243. answers to these questions.
  244.  
  245.  
  246. The completed document is to provide the evaluator an understanding
  247. of the various hardware and software configurations, architecture
  248. and design, testing, and documentation, system security features
  249. and their applicability to security and accountability policy,
  250. Trusted Computing Base (TCB) isolation and non-circumventability,
  251. and covert channel analysis methods. This product questionnaire
  252. also requests information on penetration testing and specification-to-code
  253. correspondence for systems to which these requirements are applicable.
  254.  
  255.  
  256. While this product questionnaire is designed for operating systems
  257. and does not specifically address networks, subsystems, or database
  258. management systems, vendors participating in these areas may find
  259. it useful to review this document and answer any applicable questions.
  260. Chapter 2 QUESTIONNAIRE
  261.  
  262. 2.1 SUBJECTS
  263.  
  264.  
  265.  
  266. A subject is an active entity in the system, generally in the
  267. form of a person, process, or device that causes information to
  268. flow among objects or changes the system state. A subject can
  269. be viewed as a process/domain pair whose access controls are checked
  270. prior to granting the access to objects.
  271.  
  272.  
  273. C1:
  274.  
  275.  
  276. 1. (a) List and (b) describe the subjects in your system.
  277.  
  278.  
  279. 2. (a) When and (b) how are the subjects created? (For example,
  280. they can be created or activated when a user logs on or when a
  281. process is spawned.)
  282.  
  283.  
  284. 3. (a) When and (b) how are the subjects destroyed? (For example,
  285. they can be destroyed or deactivated when a process terminates
  286. or when the user logs off.)
  287.  
  288.  
  289. 4. (a) What are the security attributes of a subject? (Examples
  290. of security attributes are user name, group id, sensitivity level,
  291. etc.) For each type of subject in your system (e.g., user, process,
  292. device), what mechanisms are available to (b) define and 
  293. modify these attributes? (d) Who can invoke these mechanisms?
  294.  
  295.  
  296. 5. (a) What are other security-relevant privileges a subject can
  297. have? (Examples of such privileges are: super user, system operator,
  298. system administrator, etc. Your operating system may assign numerous
  299. other privileges to the subjects, such as the ability to use certain
  300. devices.) For each type of subject in your system, what mechanisms
  301. are available to (b) define and  modify these pnvileges?
  302. (d) Who can invoke these mechanisms? (e) Provide a list of subjects
  303. within the TCB boundary and (f) the list of privileges for each
  304. of them.
  305.  
  306.  
  307. 6. When a subject is created, where do its (a) security attributes
  308. and (b) privileges originate; i.e., how are the security attributes
  309. and privileges inherited?
  310.  
  311.  
  312. 7. List the subjects, if any, which are not controlled by the
  313. TCB.
  314. 2.2 OBJECTS
  315.  
  316.  
  317.  
  318. An object is a passive entity that contains or receives information.
  319. Access to an object potentially implies access to the information
  320. it contains. Examples of objects are: records, blocks, pages,
  321. segments, files, directories, directory tree, and programs, as
  322. well as bits, bytes, words, fields, processors, video displays,
  323. keyboards, clocks, printers, network nodes.
  324.  
  325.  
  326. C1:
  327.  
  328.  
  329. 1. Provide a list of objects within the TCB (e.g., authentication
  330. database, print queues).
  331.  
  332.  
  333. 2. List the objects in your system that are protected by the Discretionary
  334. Access Control (DAC) mechanisms.
  335.  
  336.  
  337. 3. (a) List the objects that are not protected by the DAC mechanism.
  338. (b) Why are they not protected?  Describe other mechanisms
  339. used to isolate and protect objects.
  340.  
  341.  
  342. 4. (a) List other resources which are not protected by the DAC
  343. mechanism (Examples include temporary data files accessible only
  344. to the file's owner). (b) Why are they not protected by DAC? 
  345. Describe the mechanisms that are used to isolate and protect these
  346. resources.
  347.  
  348.  
  349. 5. How are the various types of objects created (e.g., directories,
  350. files, devices)?
  351.  
  352.  
  353. 6. How are the various types of objects destroyed?
  354.  
  355.  
  356. 7. (a) What are the security attributes of an object? For each
  357. type of object in your system, what mechanisms are available to
  358. (b) define and  modify these attributes?  (d) Who can invoke
  359. these mechanisms?
  360.  
  361.  
  362. 8. When an object is created, where do its security attributes
  363. originate (i.e., how are the security attributes inherited?)
  364.  
  365.  
  366. B1:
  367.  
  368.  
  369. 9. List the objects in your system that are protected by the Mandatory
  370. Access Control (MAC) mechanisms.
  371.  
  372.  
  373. 10. (a) List the objects that are not protected by the MAC mechanism.
  374. (b) Why are they not protected?  Describe other mechanisms
  375. used to isolate and protect objects.
  376.  
  377.  
  378. 11. (a) List other resources which are not protected by the MAC
  379. mechanism. (b) Why are they not protected?  Describe the
  380. mechanisms that are used to isolate and protect these resources.
  381. 2.3 HARDWARE ARCHITECTURE
  382.  
  383.  
  384.  
  385. If this evaluation is for a family of hardware, the following
  386. questions should be answered for each member of the hardware family.
  387. You may choose to answer each question for each member of the
  388. family, or answer each question for a baseline family member and
  389. point out the difference for each of the remaining family members.
  390.  
  391.  
  392. C1:
  393.  
  394.  
  395. 1. Provide a high-level block diagram of the system. The diagram
  396. should at least depict various Central Processor Units (CPUs),
  397. memory controllers, memory, 1/0 processors, 1/0 controllers, 1/0
  398. devices (e.g. printers, displays, disks, tapes, communications
  399. lines) and relationships (both control flow and data flow) among
  400. them.
  401.  
  402.  
  403. 2. (a) Describe the portions of the system (if any) which contain
  404. microcode. (b) How is this microcode protected and loaded?
  405.  
  406.  
  407. 3. (a) Provide a list of privileged instructions for your hardware.
  408. (b) Provide a brief description of each privileged instruction.
  409.  
  410.  
  411. 4. For each privileged instruction, provide the privileges required
  412. to execute the instruction. (Examples of privileges include the
  413. machine state, the executing ring/segment/domain/ privilege level,
  414. physical memory location of the instruction, etc.)
  415.  
  416.  
  417. 5. How does the process address translation (logical/virtual to
  418. physical) work in your system?
  419.  
  420.  
  421. 6. (a) How does 1/0 processing address translation work for the
  422. Direct Memory Access (DMA) controllers/devices? (b) Identify if
  423. the address translation is done through the memory address translation
  424. unit or if the logic is part of the controller.  How are
  425. the address translation maps and/or tables initialized?
  426.  
  427.  
  428. 7. Describe the hardware protection mechanisms provided by the
  429. system.
  430.  
  431.  
  432. 8. Describe what hardware mechanisms are used to isolate the TCB
  433. from untrusted applications.
  434.  
  435.  
  436. 9. (a) What are the machine/processor states supported by the
  437. system? (b) How are the states changed?  What data structures
  438. are saved as part of the processor state?
  439.  
  440.  
  441. 10. List all the (a) interrupts and (b) traps (hardware and software).
  442.  How are they serviced by the system?
  443.  
  444.  
  445. B1:
  446.  
  447.  
  448. 11. Provide a high-level block diagram of a CPU. The diagram should
  449. explain the relationship among elements such as: Instruction Processor,
  450. Microsequencer, Microengine, Memory, Cache, Memory Mapping or
  451. Address Translation Unit, I/0 devices and interfaces.
  452.  
  453.  
  454. 12. Describe the hardware isolation mechanisms for the process
  455. memory (e.g., rings, seg-ments, privilege levels).
  456.  
  457.  
  458. 13. (a) Provide a description of the hardware process address
  459. space. (b) When and  how is it formed? (d) How does the
  460. software use this mechanism, if it does at all?
  461. 2.4 SOFTWARE
  462.  
  463.  
  464.  
  465. The TCB software consists of the elements that are involved in
  466. enforcing the system security policy. Examples of TCB elements
  467. include: kernel, interrupt handlers, process manager, 1/0 handlers,
  468. 1/0 manager, user/process interface, hardware, and command languages/interfaces
  469. (for system generation, operator, administrator, users, etc.).
  470. The security kernel consists of the hardware, firmware and software
  471. elements of the TCB that are involved in implementing the reference
  472. monitor concept, i.e., the ones that mediate all access to objects
  473. by subjects.
  474.  
  475.  
  476. C1:
  477.  
  478.  
  479. 1. Provide a (a) description and (b) architecture of the Trusted
  480. Computing Base (TCB) at the element level (see above for examples
  481. of elements).
  482.  
  483.  
  484. 2. Describe the interface between the TCB and user processes that
  485. are outside the TCB.
  486.  
  487.  
  488. 3. Describe the hardware ring/domain/privilege level/memory segment/physical
  489. location where each TCB element resides.
  490.  
  491.  
  492. 4. Describe the hardware ring/domain/privilege level/memory segment/physical
  493. location where the user processes reside.
  494.  
  495.  
  496. 5. (a) List software mechanisms that are used to isolate and protect
  497. the TCB. (b) Provide a brief description of each mechanism.
  498.  
  499.  
  500. 6. List all the privileges a process can have. Include the privileges
  501. based on the process or user profile, process or user name, or
  502. process or user identification.
  503.  
  504.  
  505. 7. How are a process's privileges determined?
  506.  
  507.  
  508. 8. (a) List the process states and (b) briefly state conditions
  509. under which a transition from one state to another occurs.
  510.  
  511.  
  512. 9. Briefly describe process scheduling.
  513.  
  514.  
  515. 10. Describe all interprocess communications mechanisms.
  516.  
  517.  
  518. 11. (a) Describe the file management system. This should include
  519. the directory hierarchy, if any, directory and file attributes.
  520. (b) Also identify all system directories and files and 
  521. their access attributes.
  522.  
  523.  
  524. 12. How are (a) I/0 devices and (b) their queues (if any) managed?
  525.  
  526.  
  527. 13. How are the (a) batch jobs and (b) their queues managed?
  528.  
  529.  
  530. 14. What software engineering tools and techniques were used for
  531. the TCB design and implementation?
  532.  
  533.  
  534. C2:
  535.  
  536.  
  537. 15. Describe the interfaces (control and data flow) among the
  538. TCB elements.
  539.  
  540.  
  541. 16. Describe the interface between the kernel and the rest of
  542. the TCB elements.
  543.  
  544.  
  545. 17. Describe how the process states are manipulated by the TCB.
  546.  
  547.  
  548. 18. (a) Describe the data structures for a process context. Describe
  549. both (b) hardware and  software mechanisms used to manipulate/switch
  550. the process context.
  551.  
  552.  
  553. B1:
  554.  
  555.  
  556. 19. (a) List software mechanisms that are used to isolate and
  557. protect user processes. (b)
  558.  
  559.  
  560. Provide a brief description of each mechanism.
  561.  
  562.  
  563. 20. (a) Describe various elements of the process address space
  564. and (b) their location in terms of ring/domain/privilege level/segment/physical
  565. memory.
  566.  
  567.  
  568. 21. How is a process' sensitivity level determined?
  569.  
  570.  
  571. B2:
  572.  
  573.  
  574. 22. How was the modularity requirement achieved and implemented?
  575.  
  576.  
  577. 23. (a) For each TCB element, identify protection-critical portions
  578. of the code. (b) Describe the protection-critical functions performed
  579. by the code.
  580.  
  581.  
  582. 24. (a) Is the TCB layered? (b) If yes, how many layers are in
  583. the TCB? Provide a brief description of  modules and (d)
  584. functions in each layer. (e) How are the lower layers protected
  585. from higher layers?
  586.  
  587.  
  588. B3:
  589.  
  590.  
  591. 25. How does the architecture limit or restrict the ability of
  592. untrusted code to exploit covert channels?
  593.  
  594.  
  595. 26. How is the least privilege requirement achieved and implemented?
  596.  
  597.  
  598. 27. (a) For each TCB element, identify non-protection-critical
  599. portions of the code. (b)
  600.  
  601.  
  602. Explain why the code is part of the TCB.
  603.  
  604.  
  605. 28. How was the data abstraction and information hiding requirement
  606. achieved and im-plemented?
  607. 2.5 DISCRETIONARY ACCESS CONTROL
  608.  
  609.  
  610.  
  611.  C1:
  612.  
  613.  
  614. 1. What mechanisms are used to provide discretionary access controls?
  615. (Examples of mechanisms are: access control lists, protection
  616. bits, capabilities, etc.)
  617.  
  618.  
  619. 2. (a) Can the access be granted to the users on an individual
  620. user basis? (b) If so, how?
  621.  
  622.  
  623. 3. (a) How is a group defined? (b) What mechanisms are used to
  624. administer groups (i.e., to create or delete groups or to add
  625. or delete individual users from a group)?  Who can invoke
  626. these mechanisms? (d) What privileges are necessary to invoke
  627. these mechanisms?
  628.  
  629.  
  630. 4. How can the access be revoked on an individual user basis?
  631.  
  632.  
  633. 5. How can the access be revoked on a group basis?
  634.  
  635.  
  636. 6. List any objects that can be accessed by users excluded from
  637. the DAC policy (e.g.,
  638.  
  639.  
  640. IPC files, process signaling/synchronization flags) ?1
  641.  
  642.  
  643. 7. For each TCB object identified in question 1, section 2.2,
  644. describe the DAC mechanism which protects that object.
  645.  
  646.  
  647. 8. (a) List the access modes supported by the system (e.g., read,
  648. write, delete, owner, execute, append). (b) Briefly describe the
  649. meaning of each access mode for each object.
  650.  
  651.  
  652. 9. (a) Are conflicts between user and group access detected? 
  653. (b) If so, how are the conflicts resolved?
  654.  
  655.  
  656. 10. For each object, list when changes in DAC permissions become
  657. effective.
  658.  
  659.  
  660. C2:
  661.  
  662.  
  663. 11. (a) Can access be granted to groups of individuals? (b) If
  664. so, how?
  665.  
  666.  
  667. 12. (a) What are the initial access permissions when an object
  668. is created? (b) Can the initial access permission be changed?
  669. If so,  by whom (e.g., user/owner, system administrator,
  670. others) and (d) how.
  671.  
  672.  
  673. 13. (a) Can different initial access permissions be specified
  674. for different users, or is this is a system-wide setting? If the
  675. former, (b) by whom and  how?
  676.  
  677.  
  678. 1This question is not applicable above class BI, because then
  679. all objects have to be protected.
  680.  
  681.  
  682. 14. (a) Who can grant the access permissions to an object after
  683. the.object is created?
  684.  
  685.  
  686. (Examples include creator, current owner, system administrator,
  687. etc.) (b) How is the permission granted?
  688.  
  689.  
  690. 15. (a) Can the ability to grant permissions be passed to another
  691. user? If so, (b) by whom and  how? (d) Under what circumstances
  692. can the previous owner of the privilege retain it?
  693.  
  694.  
  695. B3:
  696.  
  697.  
  698. 16. (a) Can access be denied to the users on an individual user
  699. basis, i.e., exclude individual users? (b) If so, how?
  700.  
  701.  
  702. 17. (a) Can access be denied to groups of individuals? (b) If
  703. so, how?
  704. 2.6 IDENTIFICATION & AUTHENTICATION
  705.  
  706.  
  707.  
  708. C1:
  709.  
  710.  
  711. 1. (a) Does the system require the users to provide identification
  712. at login? (b) If yes, what information is requested by the system?
  713.  
  714.  
  715. 2. Is there any additional device or physical security required
  716. for user identification and authentication (I&A) (e.g., terminal
  717. ID, pass key, smart card, etc.)?
  718.  
  719.  
  720. 3. (a) Does the system authenticate this identity at the time
  721. of login? (b) If yes, what information is requested by the system?
  722.  How does the system use this information to authenticate
  723. the identity?
  724.  
  725.  
  726. 4. (a) Describe the algorithms used in user authentication. (b)
  727. Where in the system are the code and data for authentication (e.g.,
  728. user/password data base) stored?
  729.  
  730.  
  731. 5. How are the authentication code and data protected?
  732.  
  733.  
  734. 6. (a) Does the I&A process associate privileges with the
  735. user? If so, (b) what and  how?
  736.  
  737.  
  738. C2:
  739.  
  740.  
  741. 7. Describe how each user is uniquely identified.
  742.  
  743.  
  744. B1:
  745.  
  746.  
  747. 8. How does the I&A process associate a sensitivity level
  748. with the user?
  749. 2.7 OBJECT REUSE
  750.  
  751.  
  752.  
  753. C2:
  754.  
  755.  
  756. 1. How is reuse of data in the storage resources (e.g., memory
  757. page cache, CPU registers, disk sectors, magnetic tapes, removable
  758. disk media, terminals) of the system prevented? (Examples include
  759. writing predefined patterns, writing random patterns, preventing
  760. reading before writing, etc.)
  761.  
  762.  
  763. 2. When do these actions take place: prior to allocation or after
  764. deallocation and/or release?
  765.  
  766.  
  767. 3. Describe the TCB (a) hardware, (b) software and  procedural
  768. mechanisms used to accomplish the clearing for each type of storage
  769. resource.
  770.  
  771.  
  772. 4. Is it possible to read data that have been "logically"
  773. deleted, but not physically removed (e.g., attempting to read
  774. past the end-of-file mark)?
  775. 2.8 AUDIT
  776.  
  777.  
  778.  
  779. C2:
  780.  
  781.  
  782. 1. Provide a brief description (preferably in block diagram form)
  783. of audit data flow in terms of how the data are created, transmitted,
  784. stored, and viewed for analysis.
  785.  
  786.  
  787. 2. How are the audit logs protected?
  788.  
  789.  
  790. 3. (a) How can the audit log be read? (b) Who can invoke these
  791. mechanisms?  What privileges are required to invoke these
  792. mechanisms?
  793.  
  794.  
  795. 4. (a) What tools are available to output raw or processed (i.e.,
  796. analyzed and reduced) audit information? (b) Who can invoke these
  797. tools?  What do the tools do in terms of audit data reduction?
  798. (d) What are the formats of the reports/outputs generated by these
  799. tools?
  800.  
  801.  
  802. 5. (a) How can the audit log be written or appended? (b) Who can
  803. invoke these mechanisms?  What privileges are required to
  804. invoke these mechanisms?
  805.  
  806.  
  807. 6. (a) How can the audit log be deleted? (b) Who can invoke these
  808. mechanisms? 
  809.  
  810.  
  811. What privileges are required to invoke these mechanisms?
  812.  
  813.  
  814. 7. What are the internal formats of audit records?
  815.  
  816.  
  817. 8. Provide a list of auditable events (examples include attempted
  818. logins, logouts, creation of subjects, deletion of subjects, assignment
  819. of privileges to subjects, change of subject privileges, use of
  820. privileges by subjects, creation of objects, deletion of objects,
  821. initial access to objects (introduction of the object into a user's
  822. address space), assumption of the role of security administrator).
  823.  
  824.  
  825. 9. (a) Which actions by the trusted users are auditable?  (b)
  826. Which are not?  (Examples of trusted users are system operator,
  827. account administrator, system security officer/administrator,
  828. auditor, system programmer, etc. Trusted users almost always have
  829. at least one privilege.)
  830.  
  831.  
  832. 10. (a) What data are recorded for each audit event? (b) Which
  833. of the following data (if any) are not recorded for each event:
  834. date, time, user, object, object DAC information (e.g., ACL),
  835. type of event, invoked or not invoked, why not invoked, success
  836. or failure in execution,terminal identification?
  837.  
  838.  
  839. 11. (a) Can the password ever become part of the audit record?
  840. (b) If yes, under what circumstances can this occur?
  841.  
  842.  
  843. 12. (a) What mechanisms are available to designate and change
  844. the activities being audited? (b) Who can invoke these mechanisms?
  845.  What privileges are needed to invoke these mechanisms?
  846.  
  847.  
  848. 13. (a) What mechanisms are available for selective auditing (i.e.,
  849. selection of events, subjects, objects, etc., to be audited)?
  850. (b) What parameters (e.g., individual or group of subjects, individual
  851. objects, subjects within a sensitivity range, objects within a
  852. sensitivity range, event type) or combination of parameters can
  853. be specified for the selective auditing?  Who can invoke
  854. these mechanisms? (d) What privileges are needed to invoke these
  855. mechanisms?
  856.  
  857.  
  858. 14. When do changes to the audit parameters take effect (e.g.,
  859. immediately for all processes, for new processes)?
  860.  
  861.  
  862. 15. (a) Are the audit reduction tools part of the TCB? (b) If
  863. not, what trusted mechanism is used to view/output the audit log?
  864.  
  865.  
  866. 16. (a) Does the system produce multiple audit logs? (b) If yes,
  867. what tools, techniques and methodologies are available to correlate
  868. these logs?
  869.  
  870.  
  871. 17. (a) Who (e.g., operator, system administrator or other trusted
  872. user) is notified when the audit log gets full? (b) What options
  873. are available to handle the situation ?
  874.  
  875.  
  876. 18. What other action does the TCB take when the audit log becomes
  877. full (e.g., halt the system, do not perform auditable events,
  878. overwrite oldest audit log data).
  879.  
  880.  
  881. 19. (a) In the worst case, how much audit data can be lost (e.g.,
  882. when audit log overflows, system goes down with audit data in
  883. memory buffers)? (b) Describe the worst case scenario. 
  884. When can it occur?
  885.  
  886.  
  887. BI:
  888.  
  889.  
  890. 20. Which of the following events auditable: change in the device
  891. designation of single-level or multilevel, change in device level,
  892. change in device minimum or maximum level, override of banner
  893. page or page top and bottom markings?'
  894.  
  895.  
  896. 21. Are the (a) subject and (b) object sensitivity level recorded
  897. as part of the audit event?
  898.  
  899.  
  900. B2:
  901.  
  902.  
  903. 22. Are events that exploit covert storage channels auditable?
  904.  
  905.  
  906. B3:
  907.  
  908.  
  909. 23. How does the TCB (a) designate and (b) change the occurrence
  910. or accumulation of events that require real-time notification?
  911.   Who can invoke these mechanisms?  (d) What privileges
  912. are needed to invoke these mechanisms? (e) Who (e.g., system administrator,
  913. president of the company) gets the real-time notification? (f)
  914. What actions/options are available to the individual being notified?
  915. What does the TCB do about (g) the event and (h) the process that
  916. caused this alert?
  917. 2.9 LABELS
  918.  
  919.  
  920.  
  921. BI:
  922.  
  923.  
  924. 1. (a) How many hierarchical sensitivity classifications (such
  925. as unclassified, confidential, secret, top secret), does your
  926. system provide for? (b) What mechanisms are available to define
  927. the internal/storage and external/print format?  What mechanisms
  928. are available to change them? (d) Who can invoke these mechanisms?
  929.  
  930.  
  931. 2. (a) How many non-hierarchical sensitivity categories (such
  932. as FOUO) does your system provide for? (b) What mechanisms are
  933. available to define the internal/storage and external/print format?
  934.  What mechanisms are available to change them? (d) Who can
  935. invoke these mechanisms?
  936.  
  937.  
  938. 3. (a) What is the internal TCB storage format of the sensitivity
  939. label? (b) If different for different subjects or objects, give
  940. all formats.
  941.  
  942.  
  943. 4. For each type of subject, where is the subject sensitivity
  944. label stored?
  945.  
  946.  
  947. 5. For each type of object, where is the object sensitivity label
  948. stored?
  949.  
  950.  
  951. 6. (a) List any subjects and objects that are not labeled. (b)
  952. Why are they not labeled?
  953.  
  954.  
  955. How are these subjects and objects  accessed and (d) controlled?
  956.  
  957.  
  958. 7. (a) How is imported data labeled? (b) How is this label determined?
  959. Is a human being involved in  the determination or (d) the
  960. actual labeling? (e) If so, what is the role of the person involved
  961. (e.g., system administrator, system operator)? (f) Does the labeling
  962. require special privileges? (g) If so, what are those privileges?
  963.  
  964.  
  965. 8. (a) Who can change the labels on a subject? (b) How?
  966.  
  967.  
  968. 9. (a) Who can change the labels on an object? (b) How?
  969.  
  970.  
  971. 10. How are the labels associated with objects communicated outside
  972. the TCB?
  973.  
  974.  
  975. 11. (a) How does the system designate each device to be single-level
  976. or multilevel? (b)
  977.  
  978.  
  979. List the ways this designation can be changed.  List the
  980. users who can perform this designation.
  981.  
  982.  
  983. 12. (a) How does the TCB designate the sensitivity level of a
  984. single-level device? (b) List the ways this designation can be
  985. changed.  List the users who can do this.
  986.  
  987.  
  988. 13. (a) How does the TCB export the sensitivity label associated
  989. with an object being exported over a multilevel device? (b) What
  990. is the format for the exported label?  How does the TCB
  991. ensure that the sensitivity label is properly associated with
  992. the object?
  993.  
  994.  
  995. 14. (a) What mechanisms are available to specify the human-readable
  996. print label associated with a sensitivity label? (b) Who can invoke
  997. these mechanisms?
  998.  
  999.  
  1000. 15. (a) Is the beginning and end of each hardcopy output marked
  1001. with the human-readable print label representing the sensitivity
  1002. level of the output (i.e., does each hardcopy output have banner
  1003. pages)?  (b) What happens if a banner page output is longer and/or
  1004. wider than a physical page?
  1005.  
  1006.  
  1007. 16. (a) Is the top and bottom of each hardcopy output page marked
  1008. with the human-readable print label representing the sensitivity
  1009. level of the output? (b) What happens if the print label is wider
  1010. and/or longer than the space available for the top and/or the
  1011. bottom?
  1012.  
  1013.  
  1014. 17. How does the TCB mark the top and bottom page of non-textual
  1015. type of output such as graphics, maps, and images?
  1016.  
  1017.  
  1018. 18. (a) How can the top and bottom page markings be overridden?
  1019. (b) Who can override the markings?
  1020.  
  1021.  
  1022. 19. How can an operator distinguish the TCB-generated banner pages
  1023. from user output?
  1024.  
  1025.  
  1026. B2:
  1027.  
  1028.  
  1029. 20. (a) How does the TCB acknowledge a change in the sensitivity
  1030. level associated with an interactive user? (b) Is the user notification
  1031. posted on the user terminal?  How immediate is this change?
  1032.  
  1033.  
  1034. 21. (a) How does a user query the system TCB for his or her current
  1035. sensitivity label? (b)
  1036.  
  1037.  
  1038. What part of the sensitivity label is output?  Where is
  1039. this output posted?
  1040.  
  1041.  
  1042. 22. (a) How does the TCB designate the minimum and maximum sensitivity
  1043. levels of a device? (b) List the ways these designations can be
  1044. changed.  List the users who can invoke these mechanisms.
  1045.  
  1046.  
  1047. 23. List the circumstances under which the TCB allows input or
  1048. output of data that fall outside a device's sensitivity range.
  1049. 2.10 MANDATORY ACCESS CdNTROL
  1050.  
  1051.  
  1052.  
  1053. BI:
  1054.  
  1055.  
  1056. 1. Define the MAC policy for the possible access modes such as
  1057. read, write, append, delete.
  1058.  
  1059.  
  1060. 2. (a) Does the system use sensitivity labels to enforce the MAC?
  1061. (b) If not, what information is used to make the MAC decisions?
  1062.  
  1063.  
  1064. 3. (a) List the subjects, objects, and circumstances under which
  1065. the MAC policy is not enforced.2 (b) Why is it not enforced in
  1066. these cases?
  1067.  
  1068.  
  1069. 4. In what sequence does the system perform access mediation?
  1070. (An example sequence might be a. check for privileges that supersede
  1071. MAC and DAC, then b. check for DAC, then c. check for MAC.)
  1072.  
  1073.  
  1074. 5. (a) Does the TCB support system-low and system-high sensitivity
  1075. levels? If yes, how can they be (b) designated and  changed?
  1076. Who can invoke the functions to (d) designate and (e) change them?
  1077. How are these levels used by the system in (f) various labeling
  1078. functions and (g) MAC decisions?
  1079.  
  1080.  
  1081. This question is not applicable above class BI, because then all
  1082. objects have to be protected.
  1083. 2.11 TESTING
  1084.  
  1085.  
  1086.  
  1087. CI:
  1088.  
  1089.  
  1090. 1. (a) What routines are available to test the correct operation
  1091. of the system hardware and firmware? (b) What elements of the
  1092. system hardware are tested through these routines?  What
  1093. elements of the system firmware are tested through these routines?
  1094.  (d) What elements of the system hardware and firmware are not
  1095. tested through these routines? (e) Does the testing include boundary
  1096. and anomalous conditions? (f) Is the emphasis on diagnosing and
  1097. pinpointing faults or is it on ensuring the correct operation
  1098. of the system hardware and firmware?
  1099.  
  1100.  
  1101. 2. (a) How are the routines in the previous question invoked?
  1102. (b) Who can invoke these routines?  Do they run under the
  1103. control of the operating system or do they run in stand-alone
  1104. mode?
  1105.  
  1106.  
  1107. 3. (a) When can these routines be run? (b) When should these routines
  1108. be run?  If they run automatically, when do they run (e.g.,
  1109. powerup, booting, rebooting)?
  1110.  
  1111.  
  1112. 4. Describe the software development testing methodology. In this
  1113. description, include a discussion of various testing steps such
  1114. as unit, module, integration, subsystem, system testing. This
  1115. discussion should include a description of test coverage criteria
  1116. and test cases development methodology.
  1117.  
  1118.  
  1119. 5. Provide (a) a copy of the security test plan, a brief description
  1120. of its contents, or an annotated outline. (b) Does the test plan
  1121. include the following information: system configuration for testing,
  1122. procedures to generate the TCB, procedures to bring up the system,
  1123. testing schedule, test procedures, test cases, expected test results?
  1124.  Provide a schedule for development of the security test
  1125. plan if such a test plan doesn't already exist.
  1126.  
  1127.  
  1128. 6. (a) How thorough is the security testing?  (b) Do the test
  1129. cases include nominal, boundary, and anomalous values for each
  1130. input?  What about the combinations of inputs? (d) Describe
  1131. the test coverage criteria.
  1132.  
  1133.  
  1134. 7. (a) How are the test cases developed? (b) Are they based on
  1135. the concept of functional testing, structural testing, or a combination
  1136. of the two?
  1137.  
  1138.  
  1139. 8. What tools and techniques (automated, manual, or a combination
  1140. of the two) will be used to do the functional and/or structural
  1141. analysis in order to develop a thorough set of test cases?
  1142.  
  1143.  
  1144. B1:
  1145.  
  1146.  
  1147. 9. How do you plan to ascertain that errors have been minimized
  1148. in the system?
  1149.  
  1150.  
  1151. B2:
  1152.  
  1153.  
  1154. 10. What is the role of the descriptive top-level specification
  1155. (DTLS) in the functional and/or structural analysis done in order
  1156. to develop a thorough set of test cases?
  1157.  
  1158.  
  1159. 11. (a) Do you plan to develop scenarios for penetration testing?
  1160. (b) If so, what methodologies will be used?
  1161.  
  1162.  
  1163. 12. How do you plan to compute and verify the bandwidths of covert
  1164. channels?
  1165.  
  1166.  
  1167. Al:
  1168.  
  1169.  
  1170. 13. What is the role of the formal top-level specification (FTLS)
  1171. in the functional and/or structural analysis done in order to
  1172. develop a thorough set of test cases?
  1173. 2.12 MODELING AND ANALYSIS
  1174.  
  1175.  
  1176.  
  1177. B1:
  1178.  
  1179.  
  1180. 1. Describe the system security policy.
  1181.  
  1182.  
  1183. 2. How is the system security policy represented in the informal
  1184. model?
  1185.  
  1186.  
  1187. 3. What policies are represented in the informal model (e.g.,
  1188. MAC, DAC, privileges, other protection mechanisms, object reuse
  1189. )?
  1190.  
  1191.  
  1192. 4. What tools, techniques and methodologies are used to demonstrate
  1193. the model consis-tent with its axioms?
  1194.  
  1195.  
  1196. B2:
  1197.  
  1198.  
  1199. 5. (a) Provide a copy of the Verification Plan, a brief description
  1200. of its contents, or an annotated outline. (b) Provide a schedule
  1201. for completion of the Verification Plan.
  1202.  
  1203.  
  1204. 6. What tools, techniques and methodologies are used to represent
  1205. the formal model of the system security policy?
  1206.  
  1207.  
  1208. 7. What policies are represented in the formal model (e.g., MAC,
  1209. DAC, privileges, other protection mechanisms, object reuse)?
  1210.  
  1211.  
  1212. 8. What tools, techniques and methodologies are used to prove
  1213. the model consistent with its axioms?
  1214.  
  1215.  
  1216. 9. (a) What tools, techniques and methodologies are used to represent
  1217. the descriptive top-level specification (DTLS)? (b) What portions
  1218. of the TCB are represented by the DTLS?
  1219.  
  1220.  
  1221. 10. What tools, techniques and methodologies are used to identify,
  1222. analyze, calculate, and reduce the bandwidths of covert channels?
  1223.  
  1224.  
  1225. B3:
  1226.  
  1227.  
  1228. 11. What tools, techniques and methodologies are used to show
  1229. that the DTLS is consistent with the formal security policy model?
  1230.  
  1231.  
  1232. 12. (a) What tools, techniques and methodologies are used to represent
  1233. the formal top-level specification (FTLS)? (b) What portions of
  1234. the TCB are represented by the FTLS?
  1235.  
  1236.  
  1237. 13. What tools, techniques and methodologies are used to verify
  1238. or show that the FTLS is consistent with the formal security policy
  1239. model?
  1240.  
  1241.  
  1242. 14. What tools, techniques and methodologies are used to identify
  1243. the implemented code modules that correspond to the FTLS?
  1244.  
  1245.  
  1246. 15. What tools, techniques and methodologies are used to show
  1247. that the code is correctly implemented vis-a-vis the FTLS?
  1248. 2.13 OTHER ASSURANCES
  1249.  
  1250.  
  1251.  
  1252. Although the configuration management criteria do not appear until
  1253. class B2 in the TCSEC, the questions pertaining to configuration
  1254. management below are relevant to all classes because of the NSA's
  1255. Ratings Maintenance Phase (RAMP) program.
  1256.  
  1257.  
  1258. C1:
  1259.  
  1260.  
  1261. 1. (a) Describe the Configuration Management (CM) system in place
  1262. in terms of organizational responsibilities, procedures, and tools
  1263. and techniques (automated, manual, or a combination of the two).
  1264. (b) Describe the version control or other philosophy to ensure
  1265. that the elements represent a consistent system, i.e., object
  1266. code represents the source code, and the design documentation
  1267. accurately describes the source code.  If the CM system
  1268. is different for some of the elements listed in question 1 in
  1269. section 2.4, answer this question for each of the elements.
  1270.  
  1271.  
  1272. 2. (a) When was this system placed under configuration management?
  1273. (b) Provide the approximate date, as well as the life-cycle phase
  1274. (e.g., design, development, testing).  Answer this question for
  1275. each system element so controlled (as listed in the previous question).
  1276.  
  1277.  
  1278. 3. List the elements that are and are not under the Configuration
  1279. Management (e.g., hardware, firmware, formal security policy model,
  1280. FTLS, DTLS, design data and documentation, source code, object
  1281. code, test plans, Security Features User's Guide, Trusted Facilities
  1282. Manual).
  1283.  
  1284.  
  1285. 4. Describe the protection mechanisms in place to safeguard the
  1286. CM elements.
  1287.  
  1288.  
  1289. 5. (a) List separately the functions that can be performed by
  1290. each of the trusted users (e.g., operator, security administrator,
  1291. accounts administrator, auditor, systems programmer). (b) For
  1292. each of these persons/roles, list the system data bases that can
  1293. be accessed and their access modes.  Also list the privileges
  1294. provided to each of these roles.
  1295.  
  1296.  
  1297. 6. (a) How does the TCB recognize that a user has assumed one
  1298. of the above-mentioned trusted roles? (b) Which of the above-mentioned
  1299. functions can be performed without the TCB recognizing this role?
  1300.  
  1301.  
  1302. 7. (a) Does the system have a degraded mode of operation? (b)
  1303. What can cause this to occur?  How long can the system keep
  1304. running in this mode? (d) How does an operator get the system
  1305. back to full operation? (e) What security-related services are
  1306. provided in the degraded mode? (f) What security-related services
  1307. are not provided?
  1308.  
  1309.  
  1310. B2:
  1311.  
  1312.  
  1313. 8. Describe the version control or other philosophy to ensure
  1314. that the object code cor-responds to the correct source code,
  1315. which in turn is accurately abstracted in the DTLS.
  1316.  
  1317.  
  1318. 9. (a) When (e.g., before user authentication) and (b) how (e.g.,
  1319. by typing a specific control character sequence) can the trusted
  1320. path be invoked by the user?  What TCB elements are involved
  1321. in establishing the trusted path?
  1322.  
  1323.  
  1324. 10. How does the TCB ensure that the trusted path is unspoofable?
  1325.  
  1326.  
  1327. 11. How do you plan to show consistency between the DTLS and the
  1328. code?
  1329.  
  1330.  
  1331. B3:
  1332.  
  1333.  
  1334. 12. What security relevant actions are able to be performed under
  1335. trusted path?
  1336.  
  1337.  
  1338. 13. Are there other system interfaces which support the same functionality
  1339. as provided in the trusted path?
  1340.  
  1341.  
  1342. 14. (a) How does the system recovery work? What system resources
  1343. (e.g., memory, disks blocks, files) are protected (b) prior to
  1344. and  during the system recovery? (d) How are they protected?
  1345. (e) What resources are not protected?
  1346.  
  1347.  
  1348. Al:
  1349.  
  1350.  
  1351. 15. Describe the version control or other philosophy which ensures
  1352. that the FTLS continues to accurately describe the system through
  1353. system changes.
  1354.  
  1355.  
  1356. 16. How do you plan to show consistency among the FTLS, DTLS and
  1357. the code?
  1358.  
  1359.  
  1360. 17. Describe the tools, techniques and procedures used to ensure
  1361. the integrity of the TCB elements (hardware, firmware, software,
  1362. documents, etc.) supplied to the customers (e.g., trusted courier,
  1363. electronic seals, physical seals).
  1364. 2.14 OTHER DOCUMENTATION
  1365.  
  1366.  
  1367.  
  1368.  C1:
  1369.  
  1370.  
  1371. 1. (a) Describe the methodology used in the design of the system.
  1372. (b) Provide a list of documents that capture the system design.
  1373.  For each document, provide a copy, a brief description
  1374. of its contents, or an annotated outline. (d) Provide a schedule
  1375. for development of the design documents.
  1376.  
  1377.  
  1378. 2. Does the SFUG describe (a) the protection mechanisms provided
  1379. by the TCB, (b) guidelines on their use, and  how they interact?
  1380.  
  1381.  
  1382. 3. Does the SFUG explain to users the underlying philosophy of
  1383. protection for the system?
  1384.  
  1385.  
  1386. 4. Does the SFUG discuss the need for exercising sound security
  1387. practices in protecting the information processed and/or stored
  1388. in the system, including all input and output?
  1389.  
  1390.  
  1391. 5. Does the SFUG describe users' responsibilities with respect
  1392. to assuring the effectiveness of the protective features (e.g.,
  1393. password selection and protection)?
  1394.  
  1395.  
  1396. 6. Does the SFUG describe security-related commands available
  1397. to users?
  1398.  
  1399.  
  1400. 7. Does the SFUG explain how to use the DAC mechanism(s) provided
  1401. by the system to protect objects?
  1402.  
  1403.  
  1404. 8. Does the SFUG explain how removable media are to be handled
  1405. (if applicable)?
  1406.  
  1407.  
  1408. 9. Does the SFUG discuss the auditing of security-relevant events?
  1409.  
  1410.  
  1411. 10. Does the SFUG include and clearly highlight warnings where
  1412. needed?
  1413.  
  1414.  
  1415. 11. (a) Does the TFM ~~ontain procedures to configure the secure
  1416. system? (b) Does it list the devices and hardware elements that
  1417. are part of the evaluated configuration? Does it contain procedures
  1418.  for configuring each of the devices, (d) for connecting
  1419. them, and (e) for configuring the entire system? (f) Does it list
  1420. the devices that are not part of the evaluated configuration?
  1421. (g) Does it list the procedures for securely configuring them
  1422. out and for disconnecting them?
  1423.  
  1424.  
  1425. 12. Does the TFM list the (a) functions, (b) privileges, and 
  1426. data bases that are to be controlled? (d) Does it describe how
  1427. these are controlled? (e) Does it describe the consequences of
  1428. granting access to them as warnings?
  1429.  
  1430.  
  1431. 13. (a) Does the TFM contain the procedures and warnings relating
  1432. to the secure operation of the computing facility? (b) Does it
  1433. address the physical, personnel, and administrative aspects of
  1434. security in order to ensure the protection of computing hardware,
  1435. firmware, software, and privileged devices such as the operator
  1436. terminals?
  1437.  
  1438.  
  1439. 27
  1440.  
  1441.  
  1442. 14. Does the TFM contain the procedures for securely starting/booting/initializing
  1443. the system?
  1444.  
  1445.  
  1446. C2:
  1447.  
  1448.  
  1449. 15. (a) Does the TFM provide procedures for maintaining the audit
  1450. log?  (b) Does it describe how ihe audit log can be turned on,
  1451. turned off, combined with other audit logs, and backed up? 
  1452. Does it describe how to detect that the audit log is getting full,
  1453. or is full, and what actions to take in order to minirnize the
  1454. loss of audit data?
  1455.  
  1456.  
  1457. 16. Does the TFM contain the (a) structure of the audit log file
  1458. and the (b) format of the audit records?  Does it describe
  1459. how the audit records can be viewed? Does it (d) describe the
  1460. capabilities of the audit reduction tool, (e) how to invoke these
  1461. capabilities, and (f) the format of the tool output?
  1462.  
  1463.  
  1464. BI:
  1465.  
  1466.  
  1467. 17. Does the TFM address the protection of hard-copy outputs?
  1468.  
  1469.  
  1470. 18. (a) Does the TFM provide a list of trusted users (e.g., system
  1471. operator, security administrator, accounts administrator, auditor)
  1472. and trusted processes (device queue manipulation, user profile
  1473. editor)? (b) For each trusted user or process, does it list the
  1474. functions (e.g., creating and deleting users, changing user security
  1475. profile, setting up defaults for discretionary and mandatory access
  1476. controls, selecting auditing events), privileges, and data bases
  1477. (e.g., user security profiles, authentication data base) to be
  1478. accessed?
  1479.  
  1480.  
  1481. B2:
  1482.  
  1483.  
  1484. 19. (a) Does the TFM contain procedures to generate the TCB from
  1485. source code? (b)
  1486.  
  1487.  
  1488. For each system parameter or input, does the TFM list valid values
  1489. for a secure TCB generation?
  1490.  
  1491.  
  1492. 20. Does the TFM include a list of TCB modules that make up the
  1493. security kernel?
  1494.  
  1495.  
  1496. 21. Are the separate operator and administrator functions clearly
  1497. identified and described?
  1498.  
  1499.  
  1500. B3:
  1501.  
  1502.  
  1503. 22. Does the TFM contain the procedures for secureJy restarting/resuming
  1504. the system after a lapse in system operation, or a system failure?
  1505.  
  1506.  
  1507. 28
  1508.  
  1509.  
  1510. Chapter 3
  1511. GLOSSARY
  1512.  
  1513.  
  1514.  
  1515. Access A specific type of interaction between a subject and an
  1516. object that results in the flow of information from one to the
  1517. other.
  1518.  
  1519.  
  1520. Access List A list of users, programs, and/or processes and the
  1521. specifications of access categories to which each is assigned.
  1522.  
  1523.  
  1524. Administrative User A user assigned to supervise all or a portion
  1525. of an ADP system.
  1526.  
  1527.  
  1528. Audit To conduct the independent review and examination of system
  1529. records and activities.
  1530.  
  1531.  
  1532. Audit Trail A chronological record of system activities that is
  1533. sufficient to enable the reconstruction, reviewing, and examination
  1534. of the sequence of environments and activ-ities surrounding or
  1535. leading to an operation, a procedure, or an event in a transaction
  1536. from its inception to final results.
  1537.  
  1538.  
  1539. Auditor An authorized individual, or role, with administrative
  1540. duties, which include selecting the events to be audited on the
  1541. system, setting up the audit flags that enable the recording of
  1542. those events, and analyzing the trail of audit events.
  1543.  
  1544.  
  1545. Authenticate (l) To verify the identity of a user, device, or
  1546. other entity in a computer system, often as a prerequisite to
  1547. allowing access to resources in a system. (2) To verify the integrity
  1548. of data that have been stored, transmitted, or otherwise exposed
  1549. to possible unauthorized modification.
  1550.  
  1551.  
  1552. Authenticated User A user who has accessed an ADP system with
  1553. a valid identifier nd authentication combination.Authorization
  1554. The granting of access rights to a user, program, or process.
  1555.  
  1556.  
  1557. Bandwidth A characteristic of a communication channel that is
  1558. the amount of information that can be passed through it in a given
  1559. amount of time, usually expressed in bits per second.
  1560.  
  1561.  
  1562. Bell-LaPadula Model A formal state transition model of computer
  1563. security policy that describes a set of access control rules.
  1564. In this formal model, the entities in a computer system are divided
  1565. into abstract sets of subjects and objects. The notion of a secure
  1566. state is defined, and it is proven that each state transition
  1567. preserves security by moving from secure state to secure state,
  1568. thereby inductively proving that the system is secure. A system
  1569. state is defined to be "secure" if the only permitted
  1570. access modes of subjects to objects are in accordance with a specific
  1571. security policy. In order to determine whether or not a specific
  1572. access mode is allowed, the clearance of a subject is compared
  1573. to the classification of the object, and a determination is made
  1574. as to whether the subject is authorized for the specific access
  1575. mode. The clearance/classification scheme is expressed in terms
  1576. of a lattice. See Star Property (*-property) and Simple Security
  1577. Property.
  1578.  
  1579.  
  1580. Channel An information transfer path within a system. May also
  1581. refer to the mechanism by which the path is effected.
  1582.  
  1583.  
  1584. Covert Channel A communication channel that allows an untrusted
  1585. subject with legitimate access to information to transfer that
  1586. information in a manner that violates the system's security policy,
  1587. using a mechanism in some way not intended by the system developers.
  1588.  
  1589.  
  1590. Covert Storage Channel A covert channel that involves the direct
  1591. or indirect writing of a storage location by one process and the
  1592. direct or indirect reading of the storage location by another
  1593. process. Covert storage channels typically involve a finite resource
  1594. (e.g., sectors on a disk) that is shared by two subjects at different
  1595. security levels.
  1596.  
  1597.  
  1598. Covert Timing Channel A covert channel in which one process signals
  1599. information to another by modulating its own use of system resources
  1600. (e.g., CPU time) in such a way that this manipulation affects
  1601. the real response time observed by the second process.Coverage
  1602. Analysis Qualitative or quantitative assessment of the extent
  1603. to which the test conditions and data show compliance with required
  1604. properties (e.g., security model and TCB primitive properties).
  1605. See: Test Condition, Test Data, Security Policy Model.Data Information
  1606. with a specific physical representation.
  1607.  
  1608.  
  1609. Data Integrity The property that data meet an a priori expectation
  1610. of quality.
  1611.  
  1612.  
  1613. Degauss To reduce magnetic flux density to zero by applying a
  1614. reverse magnetizing field.
  1615.  
  1616.  
  1617. Descriptive Top-Level Specification (DTLS) A top-level specification
  1618. that is written in a natural language (e.g.,English), an informal
  1619. program design notation, or a combination of the two.
  1620.  
  1621.  
  1622. Discretionary Access Control (DAC) A means of restricting access
  1623. to objects based on the identity and need-to-know of the user,
  1624. process and/or groups to which they belong. The controls are discretionary
  1625. in the sense that a subject with a certain access permission is
  1626. capable of passing that permission (perhaps indirectly) on to
  1627. any other subject.
  1628.  
  1629.  
  1630. Dominate Security level S1 is said to dominate security level
  1631. S2 if the hierarchical classification of S1 is greater than or
  1632. equal to that of S2 and the non-hierarchical categories of S1
  1633. include all those of 52 as a subset.
  1634.  
  1635.  
  1636. Exploitable Channel Any channel that is usable or detectable by
  1637. subjects external to the Trusted Computing Base whose purpose
  1638. is to violate the security policy of the system.
  1639.  
  1640.  
  1641. Flaw An error of commission, omission, or oversight in a system
  1642. that allows protection mechanisms to be bypassed.
  1643.  
  1644.  
  1645. Flaw Hypothesis Methodology A system analysis and penetration
  1646. technique in which specifications and documentation for the system
  1647. are analyzed and then flaws in the system are hypothesized. The
  1648. list of hypothesized flaws is prioritized on the basis of the
  1649. estimated probability that a flaw actually exists and, assuming
  1650. a flaw does exist, on the ease of exploiting it and on the extent
  1651. of control or compromise it would provide. The prioritized list
  1652. is used to direct a penetration attack against the system.
  1653.  
  1654.  
  1655. Formal Proof A complete and convincing mathematical argument,
  1656. presenting the full logical justification for each proof step,
  1657. for the truth of a theorem or set of theorems.
  1658.  
  1659.  
  1660. Formal Security Policy Model A mathematically precise statement
  1661. of a security policy. To be adequately precise, such a model must
  1662. represent the initial state of a system, the way in which the
  1663. system progresses from one state to another, and a definition
  1664. of a "secure" state of the system. To be acceptable
  1665. as a basis for a TCB, the model must be supported by a formal
  1666. proof that if the initial state of the system satisfies the definition
  1667. of a "secure" state and if all assumptions required
  1668. by the model hold, then all future states of the system will be
  1669. secure. Some formal modeling tech-niques include: state transition
  1670. models, temporal logic models, denotational semantics models,
  1671. algebraic specification models.
  1672.  
  1673.  
  1674. Formal Top-Level Specification (FTLS) A top-level specification
  1675. that is written in a formal mathematical language to allow theorems
  1676. showing the correspondence of the system specification to its
  1677. formal requirements ~o be hypothesized and formally proven.
  1678.  
  1679.  
  1680. Formal Verification The process of using formal proofs to demonstrate
  1681. the consistency between a formal specification of a system and
  1682. a formal security policy model (design verification) or between
  1683. the formal specification and its program implementa-tion (implementation
  1684. verification).
  1685.  
  1686.  
  1687. Functional Testing The segment of security testing in which the
  1688. advertised mechanisms of a system are tested, under operational
  1689. conditions, for correct operation.
  1690.  
  1691.  
  1692. Identification The process that enables recognition of an entity
  1693. by a system, generally by the use of unique machine-readable user
  1694. names.
  1695.  
  1696.  
  1697. Integrity Sound, unimpaired or perfect condition.
  1698.  
  1699.  
  1700. Internal Security Controls Hardware, firmware, and software features
  1701. within a system that restrict access to resources (hardware, software,
  1702. and data) to authorized subjects only (persons, programs, or devices).
  1703.  
  1704.  
  1705. Isolation The containment of subjects and objects in a system
  1706. in such a way that they are separated from one another, as well
  1707. as from the protection controls of the operating system.
  1708.  
  1709.  
  1710. Lattice A non-empty set X with a reflexive partial order such
  1711. that for every pair x,y of members X, there is a unique smallest
  1712. element greater than each x and y and a unique largest element
  1713. that is smaller than each x and y.
  1714.  
  1715.  
  1716. Least Privilege This principle requires that each subject in a
  1717. system be granted the most restrictive set of privileges (or lowest
  1718. clearance) needed for the performance of authorized tasks. The
  1719. application of this principle limits the damage that can result
  1720. from accident, error, or unauthorized use.
  1721.  
  1722.  
  1723. Mandatory Access Control (MAC) A means of restricting access to
  1724. objects based on the sensitivity (as represented by a label) of
  1725. the information contained in the objects and the formal authorization
  1726. (i.e., clearance) of subjects to access information of such sensitivity.
  1727.  
  1728.  
  1729. Multilevel Device A device that is used in a manner that permits
  1730. it to simultaneously process data of two or more security levels
  1731. without risk of compromise. To accomplish this, sensitivity labels
  1732. are normally stored on the same physical medium and in the same
  1733. form (i.e., machine-readable or human-readable) as the data being
  1734. processed.
  1735.  
  1736.  
  1737. Object A passive entity that contains or receives information.
  1738. Access to an object potentially implies access to the information
  1739. it contains. Examples of objects are: records, blocks, pages,
  1740. segments, files, directories, directory tree, and programs, as
  1741. well as bits, bytes, words, fields, processors, video displays,
  1742. keyboards, clocks, printers, network nodes.
  1743.  
  1744.  
  1745. Object Reuse The reassignment and reuse of a storage medium (e.g.,
  1746. cage frame, disk sector, magnetic tape) that once contained one
  1747. or more objects. To be securely reused and assigned to a new subject,
  1748. storage media must contain no residual data (magnetic remanence)
  1749. from the object(s) previously contained in the media.
  1750.  
  1751.  
  1752. Partial Ordering A partial order on a set X is a relation R having
  1753. the property that if (x,y) is in R and (y,z) is in R, then (x,z)
  1754. is in R. A partial order is reflexive if (x,x) is in R for each
  1755. x in X.
  1756.  
  1757.  
  1758. Penetration The successful act of bypassing the security mechanisms
  1759. of a system.
  1760.  
  1761.  
  1762. Process A program in execution.
  1763.  
  1764.  
  1765. Protection-Critical Portions of the TCB Those portions of the
  1766. TCB whose normal function is to deal with the control of access
  1767. between subjects and objects. Their correct operation is essential
  1768. to the protection of data on the system.
  1769.  
  1770.  
  1771. Read A fundamental operation that results only in the flow of
  1772. information from an object to a subject.
  1773.  
  1774.  
  1775. Read Access (Privilege) Permission to read information.
  1776.  
  1777.  
  1778. Reference Monitor Concept An access-control concept that refers
  1779. to an abstract machine that mediates all accesses to objects by
  1780. subjects.
  1781.  
  1782.  
  1783. Security Level The combination of a hierarchical classification
  1784. and a set of non-hierarchical categories that represents the sensitivity
  1785. of information.
  1786.  
  1787.  
  1788. Security Policy The set of laws, rules, and practices that regulate
  1789. how an organization manages, protects, and distributes sensitive
  1790. information. 
  1791.  
  1792.  
  1793. Security Policy Model A formal presentation of the security policy
  1794. enforced by the system. It must ideAtify the set of rules and
  1795. practices that regulate how a system manages, protects, and distributes
  1796. sensitive information. See Bell-LaPadula Model and Formal Security
  1797. Policy Model.
  1798.  
  1799.  
  1800. Security-Relevant Event Any event that attempts to change tide
  1801. security state of the system, (e.g., change discretionary access
  1802. controls, change the security level of the subject, change user
  1803. password).  Also, any event that attempts to violate the security
  1804. policy of the system, (e.g., too many attempts to log in, attempts
  1805. to violate the mandatory access control limits of a device, attempts
  1806. to downgrade a file).
  1807.  
  1808.  
  1809. Security Testing A process used to determine that the security
  1810. features of a system are implemented as designed. This includes
  1811. hands-on functional testing, penetration testing, and verification.
  1812.  
  1813.  
  1814. Simple Security Property A Bell-LaPadula security model rule allowing
  1815. a subject read access to an object only if the security level
  1816. of the subject dominates the security level of the object. Also
  1817. called simple security condition.
  1818.  
  1819.  
  1820. Single-Level Device An automated information systems device that
  1821. is used to process data of a single security level at any one
  1822. time.
  1823.  
  1824.  
  1825. Spoofing An attempt to gain access to a system by posing as an
  1826. authorized user. Synonymous with impersonating, masquerading or
  1827. mimicking.
  1828.  
  1829.  
  1830. Star Property A Bell-LaPadula security model rule allowing a subject
  1831. write access to an object only if the security level of the object
  1832. dominates the security level of the subject. Also called confinement
  1833. property, *-property.
  1834.  
  1835.  
  1836. Subject An active entity, generally in the form of a person, process,
  1837. or device, that causes information to flow among objects or changes
  1838. the system state. Technically, a process/domain pair.
  1839.  
  1840.  
  1841. Subject Security Level A subject's security level is equal to
  1842. the security level of the objects to which it has both read and
  1843. write access. A subject's security level must always be dominated
  1844. by the clearance of the user the subject is associated with.
  1845.  
  1846.  
  1847. Terminal Identification The means used to provide unique identification
  1848. of a terminal to a system.
  1849.  
  1850.  
  1851. Test Condition A statement defining a constraint that must be
  1852. satisfied by the program under test.
  1853.  
  1854.  
  1855. Test Data The set of specific objects and variables that must
  1856. be used to demonstrate that a program produces a set of given
  1857. outcomes.
  1858.  
  1859.  
  1860. Test Plan A document or a section of a document which describes
  1861. the test conditions, data, and coverage of a particular test of
  1862. group of tests. See also: Test Condition, Test Data, Coverage
  1863. Analysis.
  1864.  
  1865.  
  1866. Test Procedure (Script) A set of steps necessary to carry; out
  1867. one or a group of tests. These include steps for test environment
  1868. initialization, test execution, and result analysis. The test
  1869. procedures are carried out by test operators.
  1870.  
  1871.  
  1872. Test Program A program which implements the test conditions when
  1873. initialized with the test data and which collects the results
  1874. produced by the program being tested.
  1875.  
  1876.  
  1877. Top-Level Specification A nonprocedural description of system
  1878. behavior at the most abstract level, typically, a functional specification
  1879. that omits all implementation details.
  1880.  
  1881.  
  1882. Trusted Computer System A system that employs sufficient hardware
  1883. and software integrity measures to allow its use for processing
  1884. simultaneously a range of sensitive or classified information.
  1885.  
  1886.  
  1887. Trusted Computing Base (TCB) The totality of protection mechanisms
  1888. within a computer system-including hardware, firmware, and software-the
  1889. combination of which is responsible for enforcing a security policy.
  1890. It creates a basic protection envi-ronment and provides additional
  1891. user services required for a trusted computer system.  The ability
  1892. of a trusted computing base to correctly enforce a security policy
  1893. depends solely on the mechanisms within the TCB and on the correct
  1894. input by system ad-ministrative personnel of parameters (e.g.,
  1895. a user's clearance) related to the security policy.
  1896.  
  1897.  
  1898. Trusted Path A mechanism by which a person at a terminal can communicate
  1899. directly with the Trusted Computing Base. This mechanism can only
  1900. be activated by the person or the Trusted Computing Base and cannot
  1901. be imitated by untrusted software.  Person or process accessing
  1902. an AIS either by direct connections (i.e., via terminals), or
  1903. indirect connections (i.e., prepare input data or receive output
  1904. that is not reviewed for content or classification by a responsible
  1905. individual).
  1906.  
  1907.  
  1908. Verification The process of comparing two levels of system specification
  1909. for proper correspondence (e.g., security policy model with top-level
  1910. specification, top-level spec-ification with source code, or source
  1911. code with object code). This process may or may not be automated.
  1912.  
  1913.  
  1914. Verification Plan A deliverable as specified in the Trusted Product
  1915. Evaluation Management Plan. It indicates how the system design
  1916. will be verified. It should include identification of the specification
  1917. language/system to be used, an indication of any spe-cial features
  1918. of the language that will be used, and the planned number of levels
  1919. that specifications will be written for. The method to be used
  1920. for theorem proving, either manual, interactive 6r automated,
  1921. should be indicated. The plan will be submitted to the team for
  1922. review.
  1923.  
  1924.  
  1925. Write A fundamental operation that results only in the flow of
  1926. information from a subject to an object.
  1927.  
  1928.  
  1929. Write Access (Privilege) Permission to write an object.
  1930.  
  1931.  
  1932. Chapter 4
  1933. REFERENCES
  1934.  
  1935.  
  1936.  
  1937. 1. Department of Defense, Trusted Computer System Evaluation Criteria,
  1938. DoD 5200.28-STD, December 1985.
  1939.  
  1940.  
  1941. 2. Department of Defense, Security Requirements for Automated
  1942. Information Systems (AISs), DoD Directive 5200.28, 21 March 1988.
  1943.  
  1944.  
  1945. 3. Aerospace Report No. TOR-0086 (6777-25)1, Trusted Computer
  1946. System Eval-uation Management Plan, 1 October 1985.
  1947.  
  1948.  
  1949. 4. National Computer Security Center, NCSC-TG-002 Version-I, Trusted
  1950. Prod-uct Evaluations - A Guide For Vendors, 1 March 1988(DRAFT).
  1951.  
  1952.  
  1953. 5. National Computer Security Center, NCSC-TG-004 Version l, Glossary
  1954. of Computer Security Terms, 21 October 1988.
  1955.  
  1956.  
  1957. 6. National Computer Security Center, NCSC-TG-013 Version I, Rating
  1958. Main-tenance Phase - Program Document, 23 June 1989.
  1959.  
  1960.  
  1961.  
  1962. o